﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once

#include "IType.h"

namespace gcmp
{
    class IDocument;

    /// \brief 二维出图视口类型对象接口
    class GCMP_MODEL_INTERFACE_EXPORT IDrawingViewportType : public IType
    {
        DEFINE_CAST_DERIVED(gcmp::IDrawingViewportType, gcmp::IType)
    public:

        /// \brief 创建视口类型对象
        ///
        /// \param pDocument 视口类型对象所属文档
        /// \param typeName 类型名
        /// \return 视口类型对象指针
        static IDrawingViewportType* Create(IDocument* pDocument, const std::wstring& typeName);

    public:
        /// \brief 获取Implementation Uid
        ///
        /// \return UniIdentity 返回ImplementationUid
        static UniIdentity GetImplementationUid();
    };

}